<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
     var a=0;
         b=0;
         function A(a){
            A=function (b){
                console.log(a+b++);//1
            }
            console.log(a++);//4
         }
         A(1);
         A(2);
// 1.考点:闭包;
// 2.在第一次调用A函数的时候，A函数被重新赋值
// 为了function(b){alert(a+b++)};
// 3. alert输出a之后，a的值加1，此时需要注意，在
// 初始的A当中，形参a其实是一一个局部变量，当重
// 置A函数的时候，新的A函数调用了原有A函数作
// 用域中的局部变量a,构成了闭包，a这个局部变
// 量被保存。

     </script>
</body>
</html>